﻿var ns = namespace("kaskelot.sp.ui");

ns.byggnaddokument = function () {

	function getList() {
		var id = getParameterByName('ByggnadId');

		$(".blockable-container").block({ message: null });

		$.ajax({
			url: L_Menu_BaseUrl + "/_vti_bin/Kaskelot.SP.Resources/ClientByggnadService.svc/GetDokumentListByByggnadId",
			type: "GET",
			data: { id: id },
			processData: true,
			cache: false,
			success:
				function (data) {
					if (!data.GetDokumentListByByggnadIdResult.HasError) {
						$("#dokument-list tbody").html(
							$("#dokument-template").render(data.GetDokumentListByByggnadIdResult.Data)
						);
					}
					$(".blockable-container").unblock();
				},
			error:
				function (xhr) {
					$(".blockable-container").unblock();
					kaskelot.sp.ui.prompts.showErrorPrompt(xhr.responseText);
				}
		});
	}

	function showDeleteForm(id) {
		var byggnadId = getParameterByName('ByggnadId');
		var dokumentId = id;
		if (dokumentId === undefined)
			dokumentId = "";

		var selector = "#lokal-form";

		var docFileName = $("tr#" + dokumentId + " td:first a").text();

		kaskelot.sp.ui.prompts.showPrompt({
			title: "Ta bort",
			text: "Vill du ta bort dokumentet " + docFileName + "?",
			okFunction: function () {
				var method = "DeleteDokument";
				var data = {
					byggnadId: byggnadId,
					dokumentId: dokumentId
				};
				$.ajax({
					url: L_Menu_BaseUrl + "/_vti_bin/Kaskelot.SP.Resources/ClientByggnadService.svc/" + method,
					data: JSON.stringify(data),
					type: "POST",
					processData: false,
					contentType: "application/json",
					dataType: "json",
					success: function (resp) {
						if (resp[method + "Result"].HasError) {
							kaskelot.sp.ui.formutils.showError(selector, resp[method + "Result"].ErrorMessage);
						}
						else {
							getList();
						}
					},
					error: function (xhr) {
						kaskelot.sp.ui.formutils.showError(selector, xhr.responseText);
					}
				});
			}
		});
	}

	function showUpload(docLibId, folderUrl) {
		var options = {
			title: "Ladda upp dokument",
			url: "/_layouts/Upload.aspx?List=" + kaskelot.sp.ui.clientContext.ValDocumentLibraryId + "&RootFolder=/" + kaskelot.sp.ui.clientContext.ByggnadDocumentFolderUrl,
			//width: 600,
			//height: 200,
			dialogReturnValueCallback: function (dialogResult, returnValue) {
				if (dialogResult == SP.UI.DialogResult.OK) {
					getList();
				}
			}
		};
		SP.UI.ModalDialog.showModalDialog(options);
	}

	return {
		getList: getList,
		showDeleteForm: showDeleteForm,
		showUpload: showUpload
	};
}();